Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deFSVirtual Class Reference

#include <deFileSystem_priv.hpp>

Inheritance diagram for deFSVirtual:

Inheritance graph
[legend]
Collaboration diagram for deFSVirtual:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 deFSVirtual ()
 ~deFSVirtual ()
void * GetInterface (IdeFileSystem::interface_t i)
deBoolean OpenBaseFile (IdeFile *BaseFile, long OpenFlags)
deBoolean OpenBaseFilename (const char *Filename, long OpenFlags)
deBoolean CloseBaseFile ()
IdeFileOpen (const char *Filename, long OpenFlags)
const char * GetDirectory ()
 Get the current directoriy.

deBoolean SetDirectory (const char *Directory)
 Set the current directory.

deBoolean Rename (const char *OldFilename, const char *NewFilename)
deBoolean Delete (const char *Filename, deFSPROGRESS StatusCallback)
deBoolean Move (const char *OldFilename, const char *NewFilename, deFSPROGRESS StatusCallback)
deBoolean Copy (const char *OldFilename, const char *NewFilename, deFSPROGRESS StatusCallback)
deBoolean AddDirectory (const char *Directory)
deBoolean DeleteDirectory (const char *Directory, deFSPROGRESS StatusCallback)
void * FindFirst (const char *Pattern, deFileProperties *Properties)
deBoolean FindNext (void *Handle, deFileProperties *Properties)
deBoolean FindEnd (void *Handle)

Protected Types

typedef deFSVirtual::VirtualFileEntry VirtualFileEntry

Protected Member Functions

deBoolean Open (deFileVirtual *BaseFile, const char *Filename, long OpenFlags)
deBoolean Close (deFileVirtual *FileEntry)
long Read (deFileVirtual *FileEntry, void *Buffer, long Length)
long Write (deFileVirtual *FileEntry, void *Buffer, long Length)
DWORD deFSVirtual::SetSize (deFileVirtual *FileEntry, long NewSize, deFSPROGRESS *StatusCallback)

Private Types

typedef deFSVirtual::VirtualHeader VirtualHeader
typedef deFSVirtual::FindInfoVirtual FindInfoVirtual

Private Member Functions

deBoolean ReadDirectoryTree ()
deBoolean WriteDirectoryTree ()
deBoolean DestroyDirectoryTree ()
DWORD AdjustFile (deFileVirtual *FileEntry, long WriteSize, deBoolean MakeCopy, deFSPROGRESS *StatusCallback)
DWORD MoveData (long StartPosition, long ByteShift, deFSPROGRESS *StatusCallback)
deBoolean MatchPattern (const char *Pattern, const char *Filename)
deBoolean IsPattern (const char *Pattern)
DWORD deFSVirtual::DeleteDirectory (const char *Directory, deFSPROGRESS *StatusCallback)
VirtualFileEntryParseDirectory (const char *Directory, deBoolean FileAttached, long *FileNameStart)
deBoolean NameInUse (VirtualFileEntry *Directory, const char *Name, deBoolean *IsDirectory)
deBoolean AdjustFilePositions (VirtualFileEntry *Directory, long StartPosition, long ByteShift)

Private Attributes

IdeFSRealBaseFS
IdeFileBaseFile
deBoolean BaseFileOwner
long BaseFlags
VirtualFileEntryRootDirectory
VirtualFileEntryCurrentDirectory
char * CurDirectoryName

Friends

class deFileVirtual

Member Typedef Documentation

typedef struct deFSVirtual::FindInfoVirtual deFSVirtual::FindInfoVirtual [private]
 

typedef struct deFSVirtual::VirtualFileEntry deFSVirtual::VirtualFileEntry [protected]
 

typedef struct deFSVirtual::VirtualHeader deFSVirtual::VirtualHeader [private]
 


Constructor & Destructor Documentation

deFSVirtual::deFSVirtual  
 

deFSVirtual::~deFSVirtual  
 


Member Function Documentation

deBoolean deFSVirtual::AddDirectory const char *    Directory [virtual]
 

Create a directory

Parameters:
in] Directory The name of the directory

Reimplemented from deFileSystem.

DWORD deFSVirtual::AdjustFile deFileVirtual   FileEntry,
long    WriteSize,
deBoolean    MakeCopy,
deFSPROGRESS   StatusCallback
[private]
 

deBoolean deFSVirtual::AdjustFilePositions VirtualFileEntry   Directory,
long    StartPosition,
long    ByteShift
[private]
 

deBoolean deFSVirtual::Close deFileVirtual   FileEntry [protected]
 

deBoolean deFSVirtual::CloseBaseFile   [virtual]
 

Implements IdeFSVirtual.

deBoolean deFSVirtual::Copy const char *    OldFilename,
const char *    NewFilename,
deFSPROGRESS    StatusCallback
[virtual]
 

Copy a file

Parameters:
in] Filename File to copy
in] StatusCallback Pointer to a function to call while copying, pass a NULL for no callbacks
Returns:
True/False if the copy was successful

Reimplemented from deFileSystem.

DWORD deFSVirtual::deFSVirtual::DeleteDirectory const char *    Directory,
deFSPROGRESS   StatusCallback
[private]
 

DWORD deFSVirtual::deFSVirtual::SetSize deFileVirtual   FileEntry,
long    NewSize,
deFSPROGRESS   StatusCallback
[protected]
 

deBoolean deFSVirtual::Delete const char *    Filename,
deFSPROGRESS    StatusCallback
[virtual]
 

Delete a file

Parameters:
in] Filename File to Delete
in] StatusCallback Pointer to a function to call while deleting, pass a NULL for no callbacks
Returns:
True/False if the delete was successful

Reimplemented from deFileSystem.

deBoolean deFSVirtual::DeleteDirectory const char *    Directory,
deFSPROGRESS    StatusCallback
[virtual]
 

Delete a directory

Parameters:
in] Name of the directory to delete
in] StatusCallback Pointer to a function to call while deleting, pass a NULL for no callbacks
Returns:
True/False if the delete was successful

Reimplemented from deFileSystem.

deBoolean deFSVirtual::DestroyDirectoryTree   [private]
 

deBoolean deFSVirtual::FindEnd void *    Handle [virtual]
 

Finish a find and cleanup any memory usage

Parameters:
in] Handle Find to finish
Returns:
True if the find is done, False if there was a problem

Reimplemented from deFileSystem.

void * deFSVirtual::FindFirst const char *    Pattern,
deFileProperties   Properties
[virtual]
 

Start a find on the filesystem

Parameters:
in] Pattern Pattern to match the files to. ? to match 1 character, * for multiple character matching
out] Properties Information about the first file found that matches
Returns:
A value used to identify the find for later finds

Reimplemented from deFileSystem.

deBoolean deFSVirtual::FindNext void *    Handle,
deFileProperties   Properties
[virtual]
 

Find the next file in the list that matches

Parameters:
in] Handle Value returned by FindFirst
out] Properties Information about the file found that matches
Returns:
True if a file was found, False if no more files exist

Reimplemented from deFileSystem.

const char * deFSVirtual::GetDirectory   [virtual]
 

Get the current directoriy.

Reimplemented from deFileSystem.

void * deFSVirtual::GetInterface IdeFileSystem::interface_t    i [virtual]
 

Function to obtain the proper interface for the filesystem

Parameters:
in] i Input for the type of interface to return
Returns:
Returns a pointer to the requested interface or NULL if an invalid interface

Reimplemented from deFileSystem.

deBoolean deFSVirtual::IsPattern const char *    Pattern [private]
 

deBoolean deFSVirtual::MatchPattern const char *    Pattern,
const char *    Filename
[private]
 

deBoolean deFSVirtual::Move const char *    OldFilename,
const char *    NewFilename,
deFSPROGRESS    StatusCallback
[virtual]
 

Move a file

Parameters:
in] Filename File to move
in] StatusCallback Pointer to a function to call while moving, pass a NULL for no callbacks
Returns:
True/False if the move was successful

Reimplemented from deFileSystem.

DWORD deFSVirtual::MoveData long    StartPosition,
long    ByteShift,
deFSPROGRESS   StatusCallback
[private]
 

deBoolean deFSVirtual::NameInUse VirtualFileEntry   Directory,
const char *    Name,
deBoolean   IsDirectory
[private]
 

deBoolean deFSVirtual::Open deFileVirtual   BaseFile,
const char *    Filename,
long    OpenFlags
[protected]
 

IdeFile * deFSVirtual::Open const char *    Filename,
long    OpenFlags
[virtual]
 

Open a file

Parameters:
in] Filename Filename to open
in] OpenFlags flags for opening the filesystem
  • deFile_Open_Create Create a file, fail if it exists
  • deFile_Open_Existing Open an existing file, fail it if does not exist
  • deFile_Open_Always Always open the file, create if it does not exist or open existing
  • deFile_Open_CreateAlways Always open the file, override if the file already exists
Returns:
Return a pointer to an IdeFile class if valid

Reimplemented from deFileSystem.

deBoolean deFSVirtual::OpenBaseFile IdeFile   BaseFile,
long    OpenFlags
[virtual]
 

Implements IdeFSVirtual.

deBoolean deFSVirtual::OpenBaseFilename const char *    Filename,
long    OpenFlags
[virtual]
 

Implements IdeFSVirtual.

deFSVirtual::VirtualFileEntry * deFSVirtual::ParseDirectory const char *    Directory,
deBoolean    FileAttached,
long *    FileNameStart
[private]
 

long deFSVirtual::Read deFileVirtual   FileEntry,
void *    Buffer,
long    Length
[protected]
 

deBoolean deFSVirtual::ReadDirectoryTree   [private]
 

deBoolean deFSVirtual::Rename const char *    OldFilename,
const char *    NewFilename
[virtual]
 

Rename a file

Parameters:
in] OldFilename Original file to rename
in] NewFilename New name for the file
Returns:
True/False if the rename was successful

Reimplemented from deFileSystem.

deBoolean deFSVirtual::SetDirectory const char *    Directory [virtual]
 

Set the current directory.

Reimplemented from deFileSystem.

long deFSVirtual::Write deFileVirtual   FileEntry,
void *    Buffer,
long    Length
[protected]
 

deBoolean deFSVirtual::WriteDirectoryTree   [private]
 


Friends And Related Function Documentation

friend class deFileVirtual [friend]
 


Member Data Documentation

IdeFile* deFSVirtual::BaseFile [private]
 

deBoolean deFSVirtual::BaseFileOwner [private]
 

long deFSVirtual::BaseFlags [private]
 

IdeFSReal* deFSVirtual::BaseFS [private]
 

char* deFSVirtual::CurDirectoryName [private]
 

VirtualFileEntry* deFSVirtual::CurrentDirectory [private]
 

VirtualFileEntry* deFSVirtual::RootDirectory [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 12 20:14:30 2005 for Destiny3D by doxygen1.3-rc3